{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "# 1D Wasserstein barycenter comparison between exact LP and entropic regularization\n",
    "\n",
    "\n",
    "This example illustrates the computation of regularized Wasserstein Barycenter\n",
    "as proposed in [3] and exact LP barycenters using standard LP solver.\n",
    "\n",
    "It reproduces approximately Figure 3.1 and 3.2 from the following paper:\n",
    "Cuturi, M., & Peyré, G. (2016). A smoothed dual approach for variational\n",
    "Wasserstein problems. SIAM Journal on Imaging Sciences, 9(1), 320-343.\n",
    "\n",
    "[3] Benamou, J. D., Carlier, G., Cuturi, M., Nenna, L., & Peyré, G. (2015).\n",
    "Iterative Bregman projections for regularized transportation problems\n",
    "SIAM Journal on Scientific Computing, 37(2), A1111-A1138.\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# Author: Remi Flamary <remi.flamary@unice.fr>\n",
    "#\n",
    "# License: MIT License\n",
    "\n",
    "import numpy as np\n",
    "import matplotlib.pylab as pl\n",
    "import ot\n",
    "# necessary for 3d plot even if not used\n",
    "from mpl_toolkits.mplot3d import Axes3D  # noqa\n",
    "from matplotlib.collections import PolyCollection  # noqa\n",
    "\n",
    "#import ot.lp.cvx as cvx"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Gaussian Data\n",
    "-------------\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Elapsed time : 0.010422945022583008 s\n",
      "Primal Feasibility  Dual Feasibility    Duality Gap         Step             Path Parameter      Objective          \n",
      "1.0                 1.0                 1.0                 -                1.0                 1700.336700337      \n",
      "0.006776453137632   0.006776453137633   0.006776453137633   0.9932238647293  0.006776453137633   125.6700527543      \n",
      "0.004018712867874   0.004018712867874   0.004018712867874   0.4301142633     0.004018712867874   12.26594150093      \n",
      "0.001172775061627   0.001172775061627   0.001172775061627   0.7599932455029  0.001172775061627   0.3378536968897     \n",
      "0.0004375137005385  0.0004375137005385  0.0004375137005385  0.6422331807989  0.0004375137005385  0.1468420566358     \n",
      "0.000232669046734   0.0002326690467341  0.000232669046734   0.5016999460893  0.000232669046734   0.09381703231432    \n",
      "7.430121674303e-05  7.430121674303e-05  7.430121674303e-05  0.7035962305812  7.430121674303e-05  0.0577787025717     \n",
      "5.321227838876e-05  5.321227838875e-05  5.321227838876e-05  0.308784186441   5.321227838876e-05  0.05266249477203    \n",
      "1.990900379199e-05  1.990900379196e-05  1.990900379199e-05  0.6520472013244  1.990900379199e-05  0.04526054405519    \n",
      "6.305442046799e-06  6.30544204682e-06   6.3054420468e-06    0.7073953304075  6.305442046798e-06  0.04237597591383    \n",
      "2.290148391577e-06  2.290148391582e-06  2.290148391578e-06  0.6941812711492  2.29014839159e-06   0.041522849321      \n",
      "1.182864875387e-06  1.182864875406e-06  1.182864875427e-06  0.508455204675   1.182864875445e-06  0.04129461872827    \n",
      "3.626786381529e-07  3.626786382468e-07  3.626786382923e-07  0.7101651572101  3.62678638267e-07   0.04113032448923    \n",
      "1.539754244902e-07  1.539754249276e-07  1.539754249356e-07  0.6279322066282  1.539754253892e-07  0.04108867636379    \n",
      "5.193221323143e-08  5.193221463044e-08  5.193221462729e-08  0.6843453436759  5.193221708199e-08  0.04106859618414    \n",
      "1.888205054507e-08  1.888204779723e-08  1.88820477688e-08   0.6673444085651  1.888205650952e-08  0.041062141752      \n",
      "5.676855206925e-09  5.676854518888e-09  5.676854517651e-09  0.7281705804232  5.676885442702e-09  0.04105958648713    \n",
      "3.501157668218e-09  3.501150243546e-09  3.501150216347e-09  0.414020345194   3.501164437194e-09  0.04105916265261    \n",
      "1.110594251499e-09  1.110590786827e-09  1.11059083379e-09   0.6998954759911  1.110636623476e-09  0.04105870073485    \n",
      "5.770971626386e-10  5.772456113791e-10  5.772456200156e-10  0.4999769658132  5.77013379477e-10   0.04105859769135    \n",
      "1.535218204536e-10  1.536993317032e-10  1.536992771966e-10  0.7516471627141  1.536205005991e-10  0.04105851679958    \n",
      "6.724209350756e-11  6.739211232927e-11  6.739210470901e-11  0.5944802416166  6.735465384341e-11  0.04105850033766    \n",
      "1.743382199199e-11  1.736445896691e-11  1.736448490761e-11  0.7573407808104  1.734254328931e-11  0.04105849088824    \n",
      "Optimization terminated successfully.\n",
      "Elapsed time : 2.927520990371704 s\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 460.8x216 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#%% parameters\n",
    "\n",
    "problems = []\n",
    "\n",
    "n = 100  # nb bins\n",
    "\n",
    "# bin positions\n",
    "x = np.arange(n, dtype=np.float64)\n",
    "\n",
    "# Gaussian distributions\n",
    "# Gaussian distributions\n",
    "a1 = ot.datasets.make_1D_gauss(n, m=20, s=5)  # m= mean, s= std\n",
    "a2 = ot.datasets.make_1D_gauss(n, m=60, s=8)\n",
    "\n",
    "# creating matrix A containing all distributions\n",
    "A = np.vstack((a1, a2)).T\n",
    "n_distributions = A.shape[1]\n",
    "\n",
    "# loss matrix + normalization\n",
    "M = ot.utils.dist0(n)\n",
    "M /= M.max()\n",
    "\n",
    "\n",
    "#%% plot the distributions\n",
    "\n",
    "pl.figure(1, figsize=(6.4, 3))\n",
    "for i in range(n_distributions):\n",
    "    pl.plot(x, A[:, i])\n",
    "pl.title('Distributions')\n",
    "pl.tight_layout()\n",
    "\n",
    "#%% barycenter computation\n",
    "\n",
    "alpha = 0.5  # 0<=alpha<=1\n",
    "weights = np.array([1 - alpha, alpha])\n",
    "\n",
    "# l2bary\n",
    "bary_l2 = A.dot(weights)\n",
    "\n",
    "# wasserstein\n",
    "reg = 1e-3\n",
    "ot.tic()\n",
    "bary_wass = ot.bregman.barycenter(A, M, reg, weights)\n",
    "ot.toc()\n",
    "\n",
    "\n",
    "ot.tic()\n",
    "bary_wass2 = ot.lp.barycenter(A, M, weights, solver='interior-point', verbose=True)\n",
    "ot.toc()\n",
    "\n",
    "pl.figure(2)\n",
    "pl.clf()\n",
    "pl.subplot(2, 1, 1)\n",
    "for i in range(n_distributions):\n",
    "    pl.plot(x, A[:, i])\n",
    "pl.title('Distributions')\n",
    "\n",
    "pl.subplot(2, 1, 2)\n",
    "pl.plot(x, bary_l2, 'r', label='l2')\n",
    "pl.plot(x, bary_wass, 'g', label='Reg Wasserstein')\n",
    "pl.plot(x, bary_wass2, 'b', label='LP Wasserstein')\n",
    "pl.legend()\n",
    "pl.title('Barycenters')\n",
    "pl.tight_layout()\n",
    "\n",
    "problems.append([A, [bary_l2, bary_wass, bary_wass2]])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Dirac Data\n",
    "----------\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Elapsed time : 0.014856815338134766 s\n",
      "Primal Feasibility  Dual Feasibility    Duality Gap         Step             Path Parameter      Objective          \n",
      "1.0                 1.0                 1.0                 -                1.0                 1700.336700337      \n",
      "0.006776466288966   0.006776466288966   0.006776466288966   0.9932238515788  0.006776466288966   125.6649255808      \n",
      "0.004036918865495   0.004036918865495   0.004036918865495   0.4272973099316  0.004036918865495   12.3471617011       \n",
      "0.00121923268707    0.00121923268707    0.00121923268707    0.749698685599   0.00121923268707    0.3243835647408     \n",
      "0.0003837422984432  0.0003837422984432  0.0003837422984432  0.6926882608284  0.0003837422984432  0.1361719397493     \n",
      "0.0001070128410183  0.0001070128410183  0.0001070128410183  0.7643889137854  0.0001070128410183  0.07581952832518    \n",
      "0.0001001275033711  0.0001001275033711  0.0001001275033711  0.07058704837812 0.0001001275033712  0.0734739493635     \n",
      "4.550897507844e-05  4.550897507841e-05  4.550897507844e-05  0.5761172484828  4.550897507845e-05  0.05555077655047    \n",
      "8.557124125522e-06  8.5571241255e-06    8.557124125522e-06  0.8535925441152  8.557124125522e-06  0.04439814660221    \n",
      "3.611995628407e-06  3.61199562841e-06   3.611995628414e-06  0.6002277331554  3.611995628415e-06  0.04283007762152    \n",
      "7.590393750365e-07  7.590393750491e-07  7.590393750378e-07  0.8221486533416  7.590393750381e-07  0.04192322976248    \n",
      "8.299929287441e-08  8.299929286079e-08  8.299929287532e-08  0.9017467938799  8.29992928758e-08   0.04170825633295    \n",
      "3.117560203449e-10  3.117560130137e-10  3.11756019954e-10   0.997039969226   3.11756019952e-10   0.04168179329766    \n",
      "1.559749653711e-14  1.558073160926e-14  1.559756940692e-14  0.9999499686183  1.559750643989e-14  0.04168169240444    \n",
      "Optimization terminated successfully.\n",
      "Elapsed time : 2.703077793121338 s\n",
      "Elapsed time : 0.0029761791229248047 s\n",
      "Primal Feasibility  Dual Feasibility    Duality Gap         Step             Path Parameter      Objective          \n",
      "1.0                 1.0                 1.0                 -                1.0                 1700.336700337      \n",
      "0.006774675520727   0.006774675520727   0.006774675520727   0.9932256422636  0.006774675520727   125.6956034743      \n",
      "0.002048208707562   0.002048208707562   0.002048208707562   0.7343095368143  0.002048208707562   5.213991622123      \n",
      "0.000269736547478   0.0002697365474781  0.0002697365474781  0.8839403501193  0.000269736547478   0.505938390389      \n",
      "6.832109993943e-05  6.832109993944e-05  6.832109993944e-05  0.7601171075965  6.832109993943e-05  0.2339657807272     \n",
      "2.437682932219e-05  2.43768293222e-05   2.437682932219e-05  0.6663448297475  2.437682932219e-05  0.1471256246325     \n",
      "1.13498321631e-05   1.134983216308e-05  1.13498321631e-05   0.5553643816404  1.13498321631e-05   0.1181584941171     \n",
      "3.342312725885e-06  3.342312725884e-06  3.342312725885e-06  0.7238133571615  3.342312725885e-06  0.1006387519747     \n",
      "7.078561231603e-07  7.078561231509e-07  7.078561231604e-07  0.8033142552512  7.078561231603e-07  0.09474734646269    \n",
      "1.966870956916e-07  1.966870954537e-07  1.966870954468e-07  0.752547917788   1.966870954633e-07  0.09354342735766    \n",
      "4.19989524849e-10   4.199895164852e-10  4.199895238758e-10  0.9984019849375  4.19989523951e-10   0.09310367785861    \n",
      "2.101015938666e-14  2.100625691113e-14  2.101023853438e-14  0.999949974425   2.101023691864e-14  0.09310274466458    \n",
      "Optimization terminated successfully.\n",
      "Elapsed time : 2.6085386276245117 s\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 460.8x216 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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5ZNPPiEQCDB8+HBGjBjR6Hzjx4/n7bff5qKLLmLNmjWcfvrp3HvvvYAToG64wZmY55RTTuHiiy8G4Pe//z33338/V1xxBTfddBOvvPIKvXv3rq12nDNnDldddRVnn302lZWVVFdXs3z5cp566ineffddUlNTueyyy3jssceYNm0apaWljB49mhkzZrB161YuvPBCVqxYgYiwY8cOunTpwqRJk5g4caIz/yBw9NFHM2fOHPLz81m8eDGXXXYZCxYsaPTvq6qq4oMPPuCll17ixhtv5PXXX9/3P9BeWIAyxgelpU72ZBlUfCgvL6egoID8YUhrAAAeCklEQVT169czaNAgjj32WAgEeHXRIl5duJBhH34IaWmUVFSwcuVKdu/ezeTJk8nIyCAjI4OTTz455HnHjRvHrbfeytdff02/fv3IyMhAVSkpKWHp0qWMHj0agM8//5zf//737Nixg5KSEo4//njACXDnn38+Z5xxBqeccgrgZHi33HILRUVFnHLKKeTn5/PGG2+wdOlSRo0aVfvv6d69O+C0r5166qkAdO7cmYyMDC688EImTpzIxIkTG5W5pKSE9957j9NPP7122549e0L++7wyjRgxgm+++WZfL3uTLEAZ44OysroAZRlUnUgznWjz2qDKyso4/vjjmT17NldedBGqym+uvpqf/fCH0Ls39OzplDPCZUHy8/PZsWMHzz//PGPHjgWcD/N//vOf9OvXj+zsbADOP/98nnvuOYYOHcqDDz7IW2+9BTjZ0uLFi3nxxRcZMWIES5cu5Sc/+QmjR4/mxRdf5MQTT+Tee+9FVTnvvPO49dZbG5UhIyODZLerfEpKCh988AFvvPEG8+bN4+67726UGdXU1NClSxeWRbBwZHp6OuAEwaqqqoiuyb6wNihjYqyqCior66r4LIOKH5mZmcyaNYsZM2ZQVVnJ8WPH8sATT1BSVgY1Naxfv57Nmzczfvx4nn/+eSoqKigpKeGFF14Ie84xY8Zw11131QaosWPHcuedd9a2PwHs3r2bnj17EggEeOyxx2q3r169mtGjR3PTTTeRl5fHunXrWLNmDQMGDODKK69k8uTJfPrppxx99NHMmzePzZs3A7Bt2za+/fbbRmUpKSlh586dnHjiidxxxx188sknAHTs2JHdu3cD0KlTJ/r3788zzzwDgKrWHhdrlkEZE2NexmQZVHwaNmwYQ4YM4Ymnn+bcMWNYXlrK2AsugJQUsrt25dFHH2XUqFFMmjSJIUOG0KNHDw499FA6h1l1cvz48bz00kuMHOnMXTB27FjWrFnDuHHjao/505/+xOjRo8nLy2P06NG1weKXv/wlK1euRFU5+uijGTp0KLfddhuPPPIIqamp7Lfffvz2t7+lW7du3HzzzRx33HHU1NSQmprK7NmzOeCAA+qVxauarKioQFWZOXMmAFOnTuXiiy9m1qxZzJs3j8cee4yf//zn3HzzzQQCAaZOncrQoUNb43LvlahPM/SOHDlSlyyx3ugm8WzYAL16wT33wPPPw6ZNkMj/FZYvX86gQYP8LkZjO3bAqlUwaBCsXOlM/RH0gV9SUkJ2djZlZWUcccQRzJ07l+HDh/tY4PgU6u8rIktVtcllmSyDMibGLINqI7wxQ0lJzqPBOKhLLrmEwsJCKioqOO+88yw4tQILUMbEmNfmZG1Qcc4LSGEC1OOPP+5DoRKLdZIwJsYsg2ojmghQpvVZgDImxiyDaiO8gJSc7DwsQMWcBShjYqxhBlVebp99ccn7o4g4GZStBxVzFqCMibGGGRQ4QcrEmZoaJzB5Acq+RcScBShjYqxhBhW8zfjDm9Eh2PQZM+g9YYKzDMeJJzK/wYwLqkpubi7bt28HYMOGDYgI//3vf2uPycvLY+vWra1b+Ai89dZbtZPU7s38+fP5y1/+EoMSRcYClDExFiqDsnaoOKTKNeeey7Jly3jm73/ngj/+sd7aTSLCmDFjeP/994HGy2l8+eWX5OTkkJOTE7Mih1tOI9IANWnSpNoJbOOBBShjYswyqDZC1aneAwYddBApycls2bKl3iGhltMIDljedEbPP/88o0ePZtiwYRxzzDFs2rQJgLfffpuCggIKCgoYNmwYu3fvZsOGDRxxxBG1Cyh6y1i8+uqrjB07luHDh3P66adTUlICQL9+/fj1r3/N8OHDeeaZZ5g1a1btchpTp07lm2++Yc6cOdxxxx0UFBTwzjvvUFxczKmnnsqoUaMYNWoU7777LgAPPvggl19+OeDMD3jllVcybtw4BgwYwLx581rzaodk46CMiTEvGHXoUJdBWYByXH01RDBH6T4pKIAI53atLyhALV62jCQR8nJz6x0yfvx4brzxRgA++OADbrzxRu666y7ACVDedEaHH344ixYtQkS47777+N///V9mzJjB7bffzuzZsxk/fjwlJSVkZGQwd+5cjj/+eH73u99RXV1NWVkZW7Zs4eabb+b1118nKyuL2267jZkzZ/KHP/wBgJycHD766CMAevXqxddff016enrtchqXXnop2dnZXH/99QD85Cc/4ZprruHwww9n7dq1HH/88bULKwbbsGED//3vf1mxYgWTJk2qXY4jVixAGRNj3lIbInUZlFXxxSFV7nj4YR597TU6pqfz1J//jDQ4ZNSoUXz88ceUlpYSCATIzs5mwIABrFq1ivfee4/rrrsOgKKiIs4880w2bNhAZWUl/fv3B5wAd+2113L22Wdzyimn0KdPH0aNGsUFF1xAIBBgypQpFBQU8Pbbb1NYWFibkVVWVtZOPgtw5pln1j4fMmQIZ599NlOmTGHKlCkh/2mvv/56vRV0d+3aVZuRBZsyZQpJSUkMHjy4NuuLJQtQxsSYt1ghWAbVULMyndaiyjU//SnX/+UvzoSJ69Y5Xc2DlmjPzMwkPz+fBx54oHaqozFjxvDSSy+xefNmDj74YACuuOIKrr32WiZNmsRbb73F9OnTAbjhhhs46aSTeOmllxg/fjyvvPIKRxxxBAsXLuTFF1/k/PPP59prr6Vr164ce+yxPPHEEyGLmuXdSMCLL77IwoULef7557nlllv47LPPGh1fU1PDokWLyMjI2Osl8JbTcC5H7OdttTao9ui77+Drr/0uRbu1cyd8/nnzf9/LoKDlGZQqvPuu89NEWVAVH+56SqG6mo8bN44777yz3nIad911F2PGjEHc39+5cye9e/cG4KGHHqr93dWrV3PooYfy61//mlGjRrFixQq+/fZbevTowcUXX8xFF13ERx99xJgxY3j33XdZtWoVAKWlpXz11VeNylJTU8O6dev40Y9+xG233cbOnTspKSmpt5wGwHHHHcff/va32teRrP3kBwtQ7dGVV8LUqX6Xot26/XYYN675QSGaGdTbb8Phh8OHHzbv942jrKyMPn361D5mzpxZP0B5WVOIADV+/HjWrFlTG6CGDx9OUVFRveU0pk+fzumnn86IESPIDWrHuvPOOznkkEMYMmQIqampnHDCCbz11lsMHTqUYcOG8dRTT3HVVVeRl5fHgw8+yFlnncWQIUMYO3YsK1asaFSW6upqzjnnHA499FCGDRvGlVdeSZcuXTj55JP5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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#%% parameters\n",
    "\n",
    "a1 = 1.0 * (x > 10) * (x < 50)\n",
    "a2 = 1.0 * (x > 60) * (x < 80)\n",
    "\n",
    "a1 /= a1.sum()\n",
    "a2 /= a2.sum()\n",
    "\n",
    "# creating matrix A containing all distributions\n",
    "A = np.vstack((a1, a2)).T\n",
    "n_distributions = A.shape[1]\n",
    "\n",
    "# loss matrix + normalization\n",
    "M = ot.utils.dist0(n)\n",
    "M /= M.max()\n",
    "\n",
    "\n",
    "#%% plot the distributions\n",
    "\n",
    "pl.figure(1, figsize=(6.4, 3))\n",
    "for i in range(n_distributions):\n",
    "    pl.plot(x, A[:, i])\n",
    "pl.title('Distributions')\n",
    "pl.tight_layout()\n",
    "\n",
    "\n",
    "#%% barycenter computation\n",
    "\n",
    "alpha = 0.5  # 0<=alpha<=1\n",
    "weights = np.array([1 - alpha, alpha])\n",
    "\n",
    "# l2bary\n",
    "bary_l2 = A.dot(weights)\n",
    "\n",
    "# wasserstein\n",
    "reg = 1e-3\n",
    "ot.tic()\n",
    "bary_wass = ot.bregman.barycenter(A, M, reg, weights)\n",
    "ot.toc()\n",
    "\n",
    "\n",
    "ot.tic()\n",
    "bary_wass2 = ot.lp.barycenter(A, M, weights, solver='interior-point', verbose=True)\n",
    "ot.toc()\n",
    "\n",
    "\n",
    "problems.append([A, [bary_l2, bary_wass, bary_wass2]])\n",
    "\n",
    "pl.figure(2)\n",
    "pl.clf()\n",
    "pl.subplot(2, 1, 1)\n",
    "for i in range(n_distributions):\n",
    "    pl.plot(x, A[:, i])\n",
    "pl.title('Distributions')\n",
    "\n",
    "pl.subplot(2, 1, 2)\n",
    "pl.plot(x, bary_l2, 'r', label='l2')\n",
    "pl.plot(x, bary_wass, 'g', label='Reg Wasserstein')\n",
    "pl.plot(x, bary_wass2, 'b', label='LP Wasserstein')\n",
    "pl.legend()\n",
    "pl.title('Barycenters')\n",
    "pl.tight_layout()\n",
    "\n",
    "#%% parameters\n",
    "\n",
    "a1 = np.zeros(n)\n",
    "a2 = np.zeros(n)\n",
    "\n",
    "a1[10] = .25\n",
    "a1[20] = .5\n",
    "a1[30] = .25\n",
    "a2[80] = 1\n",
    "\n",
    "\n",
    "a1 /= a1.sum()\n",
    "a2 /= a2.sum()\n",
    "\n",
    "# creating matrix A containing all distributions\n",
    "A = np.vstack((a1, a2)).T\n",
    "n_distributions = A.shape[1]\n",
    "\n",
    "# loss matrix + normalization\n",
    "M = ot.utils.dist0(n)\n",
    "M /= M.max()\n",
    "\n",
    "\n",
    "#%% plot the distributions\n",
    "\n",
    "pl.figure(1, figsize=(6.4, 3))\n",
    "for i in range(n_distributions):\n",
    "    pl.plot(x, A[:, i])\n",
    "pl.title('Distributions')\n",
    "pl.tight_layout()\n",
    "\n",
    "\n",
    "#%% barycenter computation\n",
    "\n",
    "alpha = 0.5  # 0<=alpha<=1\n",
    "weights = np.array([1 - alpha, alpha])\n",
    "\n",
    "# l2bary\n",
    "bary_l2 = A.dot(weights)\n",
    "\n",
    "# wasserstein\n",
    "reg = 1e-3\n",
    "ot.tic()\n",
    "bary_wass = ot.bregman.barycenter(A, M, reg, weights)\n",
    "ot.toc()\n",
    "\n",
    "\n",
    "ot.tic()\n",
    "bary_wass2 = ot.lp.barycenter(A, M, weights, solver='interior-point', verbose=True)\n",
    "ot.toc()\n",
    "\n",
    "\n",
    "problems.append([A, [bary_l2, bary_wass, bary_wass2]])\n",
    "\n",
    "pl.figure(2)\n",
    "pl.clf()\n",
    "pl.subplot(2, 1, 1)\n",
    "for i in range(n_distributions):\n",
    "    pl.plot(x, A[:, i])\n",
    "pl.title('Distributions')\n",
    "\n",
    "pl.subplot(2, 1, 2)\n",
    "pl.plot(x, bary_l2, 'r', label='l2')\n",
    "pl.plot(x, bary_wass, 'g', label='Reg Wasserstein')\n",
    "pl.plot(x, bary_wass2, 'b', label='LP Wasserstein')\n",
    "pl.legend()\n",
    "pl.title('Barycenters')\n",
    "pl.tight_layout()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Final figure\n",
    "------------\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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9evhv//b76hERMRPu3ZBPO68vX27v7GIiAykoqLiTc/dcMMNzJ49m3nz5nHmmWeyadOmPj+2vb2d0047jUQiwcaNGyktLWXBggXdj9tvvz2tmLZt28ZFF13U52tOP/10amtrh3X8/qxatYr3v//9nh4zl6kSJ0tUieMpJXFk2NranGHG554LxsCpp8JHPgI/+xns3u13dCIi4pdt2/a/rSSOiOSjo48+mtraWlauXMlFF13ENddc0+frfvWrX/Gud72LcDgMwPTp03nppZe6H1dccUVacUycOJG77747rWMMxdy5c6mrq2Pz5s1ZO6eflMTJEiVxPKUkjgzbww87pfLnnrv/uQ98ABIJp0JHREQKU88kTn29f3GIiAzXGWecQVlZGQAnnHACdXV1fb7uN7/5De985zsHPF7Pap+77767u9plx44dXHDBBcyfP5/58+fz1FNPHeqDEB8AACAASURBVPBxGzduZM6cOYBT9XPJJZcwa9YsLrjgAtrb27tf99BDD7F48WKOOeYYLr74YlpaWgC47rrrOPbYY5kzZw5XX301NjWo7PTTT+fzn/88xx13HEcccQSPP/5497HOO+88fv/73w/4OQWB2qmyRO1UntIW4zJsDzwAFRVOBY5r0SKYNAnuuQfSvPEgIiJ5auvW/W+rEkdEBu3Tn4aXXvL2mAsWwA9+kNYhbr31Vt7+9re/6flYLMb69euZNm1a93Pr1q1jwYIF3X//8Y9/zCmnnNLvsT/1qU9x2mmncc8995BIJLqTL3256aabKCsrY82aNaxcuZJjjjkGgIaGBr75zW+ydOlSysvL+d///V9uuOEGrr32Wj7xiU9w7bXXAnD55ZfzwAMPcN555wEQj8d57rnn+Nvf/sbXv/51li5dCsCiRYv4zne+02/1UZCoEidLVInjKSVx5KC6upz/a+XlBz5vrZPEOftsiEb3P28MLFnizMdpa4PUDQwRESkg27Y560FRUeYqcX71K2cb8z/8ITPHFxEBuPPOO6mtrWVZH/tQNzQ0MHLkyAOec9upBuvhhx/unpsTDoepqqrq97WPPfYYn/rUpwCYN28e8+bNA+CZZ55h9erVnHTSSYCTXFq8eDEAjzzyCNdffz1tbW3s3r2bo446qjuJ8653vQuAhQsXsnHjxu7z1NTUsK1nSWWAxWLOMP5EAlIdcZIJSuJ4SkkcOahrroGbb4YvfAH+8z/3J2VWrHDutL717TFueeF2tjRt4f0L3s+how7lggvgpz91Lq4vuMDf+EVEJPu2boWaGigpyVwlzn33wf33O9eDPW8m9LRunXNT/8ILMxODiHgszYoZry1dupRvfetbLFu2jOLi4je9v7S0lI6OjkEdq+d224P9mMGy1vKWt7yF3/3udwc839HRwcc+9jFqa2s55JBD+NrXvnbAud3PKRwOE3en0ac+rrS01NMYc1XP3EKBfMr+UBLHU5qJIwf1z39CJAJf/SrMmgXXXgtXXQXvuzwOJskXNs7nqvuv4rrHrmPGj2dw4V0XUjr9eUaNgr/8xe/oRUTED9u2wcSJMGHC8JI4P/gBXHrpwV+zbp1z97THzeM3uf56eM97dM0oIkP34osv8uEPf5j77ruPmpqaPl8zatQoEonEoJIy48aNY82aNSSTSe65557u588880xuuukmABKJBE1NTf0e49RTT+W3v/0tAC+//DIrV64EnJk9Tz75JG+88QYAra2tvPbaa91xVVdX09LSMugBya+99lr3HJ6g06iWLNEX2lNK4ki/mpth9Wr43Odg2TIYPRq+8Q24/37LprbVcNp1nDZnJo9e+ShbPrOFa068hkc2PMIZd57M4jMbuP9+/T8VEQm61IzMA7hJnPHjh9dOde+98Kc/7d+mvK9zrl/vvL1uXf/HWbvWKZE/WKJn40a4886hxygiwdHW1sbkyZO7HzfccAP/9V//RUtLCxdffDELFizg/PPP7/Nj3/rWt/LEE090/92dieM+fvSjHwHwne98h3PPPZcTTzyRCRMmdL/+hz/8IY888ghz585l4cKFrF69ut84P/rRj9LS0sKsWbO49tprWbhwIQBjx47ltttu49JLL2XevHksXryYtWvXMnLkSK666irmzJnD2WefzbHHHjuor8cjjzzCOeecM6jX5jsViGSJvtCeMravq69+LFq0yNbW1mYwHMklDz8MZ54Jf/87vO1tzkVzRwd85l8f4eblN3PPe+5hycwlB3xMY1sjC3+xkJYVb6Hxtl+ydKlzDJGgM8Yst9Yu8jsOv2mdKDzve59zTfbHP+5/rqbGaacNh53nd+0a2jEnTnSSP6++Ckcc8eb319c7rwH48Y/hE5/o+zjjxsHOnc4Mt/5+H/nkJ+EnP4G9e+EgoygyavVq+PjHnTh7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\n",
      "text/plain": [
       "<Figure size 1440x432 with 6 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#%% plot\n",
    "\n",
    "nbm = len(problems)\n",
    "nbm2 = (nbm // 2)\n",
    "\n",
    "\n",
    "pl.figure(2, (20, 6))\n",
    "pl.clf()\n",
    "\n",
    "for i in range(nbm):\n",
    "\n",
    "    A = problems[i][0]\n",
    "    bary_l2 = problems[i][1][0]\n",
    "    bary_wass = problems[i][1][1]\n",
    "    bary_wass2 = problems[i][1][2]\n",
    "\n",
    "    pl.subplot(2, nbm, 1 + i)\n",
    "    for j in range(n_distributions):\n",
    "        pl.plot(x, A[:, j])\n",
    "    if i == nbm2:\n",
    "        pl.title('Distributions')\n",
    "    pl.xticks(())\n",
    "    pl.yticks(())\n",
    "\n",
    "    pl.subplot(2, nbm, 1 + i + nbm)\n",
    "\n",
    "    pl.plot(x, bary_l2, 'r', label='L2 (Euclidean)')\n",
    "    pl.plot(x, bary_wass, 'g', label='Reg Wasserstein')\n",
    "    pl.plot(x, bary_wass2, 'b', label='LP Wasserstein')\n",
    "    if i == nbm - 1:\n",
    "        pl.legend()\n",
    "    if i == nbm2:\n",
    "        pl.title('Barycenters')\n",
    "\n",
    "    pl.xticks(())\n",
    "    pl.yticks(())"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
